﻿using System;
using System.Collections;
using System.Collections.Generic;

namespace ArrayListTest
{
    class Program
    {
        static void Main(string[] args)
        {
            //查找元素中是否含有“小白”。
            ArrayList list = new ArrayList() { "小红","小明",99,86};

            int index = list.IndexOf("小白");

            if (index != -1)
            {
                Console.WriteLine("集合中存在该元素");
            }
            else
            {
                Console.WriteLine("集合中不存在该元素！");
            }

            Console.WriteLine("\n");

            //将集合中下标为偶数的元素添加到另一个集合中。
            ArrayList list1 = new ArrayList() { "aaa", "abc", 789 };
            ArrayList list2 = new ArrayList();
            for(int i = 0; i < list.Count; i = i + 2)
            {
                list2.Add(list1[i]);
            }
            foreach(var k in list2)
            {
                Console.WriteLine(k);
            }

            Console.WriteLine("\n");

            //在集合中的第一个元素后面添加元素。
            ArrayList list3 = new ArrayList() { "aaa", "bbb", 123, 789 };
            ArrayList list4 = new ArrayList() { "AAA", "BBB" };
            list3.InsertRange(1, list4);
            foreach (var v in list3)
            {
                Console.WriteLine(v);
            }
            Console.WriteLine("\n");

       //将集合中的元素使用 Sort 方法排序后输出。

        ArrayList list5 = new ArrayList() { "AAA", "BBB", "abc" };
            list5.Sort();
            foreach(var a in list5)
            {
                Console.WriteLine(a);
            }
            Console.WriteLine("\n");

            //在 ArrayList 集合中使用带自定义比较器的 Sort 方法。
            ArrayList list6 = new ArrayList() { "CCC", "DDD", 1, 2 };
            MyCompare myCompare = new MyCompare();//创建自定义比较器实例
            list6.Sort(myCompare);
            foreach(var b in list6)
            {
                Console.WriteLine(b);
            }
        }


    }
}
